﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NCP.Infrastructure.Common.Domain;

namespace NCP.Recruiting.Domain.Aggregates.Resumes {
    public class Resume : Entity {
        //private ICollection<Education> _educations;
        //private ICollection<Work> _works;
        //private ICollection<Certification> _certifications;
        //private ICollection<Skill> _skills;
        //private ICollection<Training> _trainings;

        //public Resume() {
        //    _educations = new List<Education>();
        //    _works = new List<Work>();
        //    _skills = new List<Skill>();
        //    _trainings = new List<Training>();
        //    _certifications = new List<Certification>();
        //}

        public string ResumeName { get; set; }
        public string ReferenceNumber { get; set; }
        public string FullName { get; set; }
        public int Gender { get; set; }
        public DateTime? BirthDate { get; set; }
        public string IDCard { get; set; }
        public byte[] Avatar { get; set; }
        public string Tel { get; set; }
        public string Mobile { get; set; }
        public string Email { get; set; }
        public string PersonalSite { get; set; }
        public int? Province1 { get; set; }
        public int? City1 { get; set; }
        public int? District1 { get; set; }
        public int? Province2 { get; set; }
        public int? City2 { get; set; }
        public int? District2 { get; set; }
        public string Street2 { get; set; }
        public string PostalCode { get; set; }
        public string BusLines { get; set; }
        public int PrivacyStatus { get; set; }
        public string CurrentJob { get; set; }
        public string CurrentEmployer { get; set; }
        public int? Major { get; set; }
        public int? EducationLevel { get; set; }
        public int? YearsOfExperience { get; set; }
        public int? CareerLevel { get; set; }
        public int? Language1 { get; set; }
        public int? Level1 { get; set; }
        public int? Language2 { get; set; }
        public int? Level2 { get; set; }
        public bool? IsGraduates { get; set; }
        public string PersonalStatement { get; set; }
        public int? DesiredLocation { get; set; }
        public int? DesiredJobType { get; set; }
        public int? CurrentRevenue { get; set; }
        public int? DesiredSalary { get; set; }
        public int? DesiredOccupation { get; set; }
        public int? DesiredIndustry { get; set; }
        public int? DesiredCompanyType { get; set; }
        public int? CanStart { get; set; }
        public DateTime? StartOn { get; set; }
        public string ResumeTag { get; set; }
        public bool? IsShieldedInsurance { get; set; }
        public int? Integrity { get; set; }
        public int? Views { get; set; }
        public string Notes { get; set; }
        public DateTime DateCreated { get; set; }
        public DateTime LastUpdated { get; set; }

        public virtual ICollection<Education> Educations
        {
            get;
            set;
        }

        public virtual ICollection<Work> Works
        {
            get;
            set;
        }

        public virtual ICollection<Skill> Skills
        {
            get;
            set;
        }

        public virtual ICollection<Training> Trainings
        {
            get;
            set;
        }

        public virtual ICollection<Certification> Certifications
        {
            get;
            set;
        }
    }
}
